package modele.pion.aerien;

import modele.Joueur;
import modele.case_.Case;
import modele.coupSpecial.CoupSpecial;
import modele.pion.Pion;

/**
 *
 * @author gervaila
 */
public abstract class Aerien extends Pion {

	/**
	 * Crée un pion Aérien
	 *
	 * @param joueur le joueur possédant ce pion
	 * @param pv la vie du pion
	 * @param portee la portee maximale des attaques
	 * @param puissance la puissance des attaques
	 * @param rayon la distance a laquelle le pion peut se déplacer
	 * @param probabiliteAttaque le pourcentage de réussite de son attaque
	 * @param dissipation le pourcentage de vie que le pion transmet quand il
	 * meurt
	 * @param prix le prix du piion
	 * @param maCase la case sur lequel est positonné le pion
	 * @param image l'adresse de l'image du pion
	 * @param monCoupSpecial le coup spécial du pion
	 */
	public Aerien(Joueur joueur, int pv, double portee, int puissance, double rayon, float probabiliteAttaque, float dissipation, int prix, Case maCase, String image, CoupSpecial monCoupSpecial) {
		super(joueur, pv, portee, puissance, rayon, probabiliteAttaque, dissipation, prix, maCase, image, monCoupSpecial);
	}

	@Override
	public boolean peutAttaquer(Pion p) {
		return true;
	}

	@Override
	public boolean peutTraverser(Pion pion) {
		return super.peutTraverser(pion) || !(pion instanceof Aerien);
	}
}
